"""
    提供Pytorch模块渲染使用的参数
"""
import config as C

'''
    Image Parameters.
'''
image_width = 512
image_height = 512
image_channels = 3

'''
    Render Parameters.
'''
light_direction = [0.5, 0.5, 0.5]
light_radiance = [5.0, 5.0, 5.0]
view_direction = [0.0, 0.0, 1.0]
using_sss = False
using_gamma_correction = False
using_specular_normal_when_diffuse = False
using_hdr = True

'''
    Output.
'''
output_path = (C.project_base_path + "output/pytorch_rendering/") + \
              ('sss_' if using_sss else '') + \
              ('gamma_' if using_gamma_correction else '') + \
              ('specularNormal_' if using_specular_normal_when_diffuse else '') + \
              ('hdr_' if using_hdr else '') + \
              'result/'

'''
    Inspired by Nvidia SSS.
'''
gaussian_kernel_size1 = 1
gaussian_kernel_size2 = 3
gaussian_kernel_size3 = 5
gaussian_kernel_size4 = 9
gaussian_kernel_size5 = 17
gaussian_kernel_size6 = 33

'''
    Computed by 毛星云 https://zhuanlan.zhihu.com/p/42433792. R.I.P.
'''
gaussian_variance1 = 0.0064
gaussian_variance2 = 0.0484
gaussian_variance3 = 0.187
gaussian_variance4 = 0.567
gaussian_variance5 = 1.99
gaussian_variance6 = 7.41

gaussian_blur_weight1 = [0.233, 0.455, 0.649]
gaussian_blur_weight2 = [0.100, 0.336, 0.334]
gaussian_blur_weight3 = [0.118, 0.198, 0]
gaussian_blur_weight4 = [0.113, 0.007, 0.007]
gaussian_blur_weight5 = [0.358, 0.004, 0]
gaussian_blur_weight6 = [0.078, 0, 0]

'''
    Nvidia solution and parameters:
    Published on https://developer.download.nvidia.cn/presentations/2007/gdc/Advanced_Skin.pdf
'''
Nvidia_gaussian_variance1 = 0.042
Nvidia_gaussian_variance2 = 0.220
Nvidia_gaussian_variance3 = 0.443
Nvidia_gaussian_variance4 = 0.753
Nvidia_gaussian_variance5 = 1.412
Nvidia_gaussian_variance6 = 2.722

Nvidia_gaussian_blur_weight1 = [0.22, 0.437, 0.635]
Nvidia_gaussian_blur_weight2 = [0.101, 0.355, 0.365]
Nvidia_gaussian_blur_weight3 = [0.119, 0.208, 0]
Nvidia_gaussian_blur_weight4 = [0.114, 0, 0]
Nvidia_gaussian_blur_weight5 = [0.364, 0, 0]
Nvidia_gaussian_blur_weight6 = [0.080, 0, 0]
